Go 1.18 发布,同时支持泛型;Web开发框架Neo 近乎同日发布
Go研发团队的领导者Russ Cox在官方博客上宣布:Go 1.18 Beta1版本正式发布。
地址:https://go.dev/blog/go1.18b
Go 1.18 Beta 1 是第一个包含 Go 对使用参数化类型的泛型代码的新支持的预览版本。
Go官方表示,泛型是自 Go 1 发布以来 Go 最重要的变化,也是他们所做过的最大的单一语言变化。
对于任何大型的新功能,新用户发现新错误是很常见的,我们不希望泛型成为这个规则的例外;一定要以适当的谨慎态度对待它们。此外,某些微妙的情况,例如特定类型的递归泛型类型,已推迟到未来版本。
也就是说,我们知道一些早期采用者已经相当满意,如果你有你认为特别适合泛型的用例,我们希望你能尝试一下。我们发布了一个 关于如何开始使用泛型的简短教程, 并在上周的 GopherCon 上做了一个演讲。你甚至可以在 Go playground 的 Go dev 分支模式下试用 。
Go 1.18 Beta 1 包含如下增益:
添加了对编写基于模糊测试的内置支持 ,以自动查找导致程序崩溃或返回无效答案的输入。
添加了一个新的“Go workspace mode”,它允许用户同时使用多个 Go 模块,这对大型项目来说是一个重要的用例。
包含一个扩展go version -m命令,它现在可以记录 compiler flags 等构建细节 。程序可以使用 debug.ReadBuildInfo 查询自己的构建细节 ,现在可以使用新的 debug/buildinfo 包从其他二进制文件中读取构建细节 。此功能旨在成为任何需要为 Go 二进制文件生成软件物料清单 (SBOM) 的工具的基础。
Go 1.17 曾添加了一个新的基于寄存器的调用约定,以加速 x86-64 系统上的 Go 代码。Go 1.18 Beta 1 将该功能扩展到 ARM64 和 PPC64,从而提高了 20% 的速度。
更多详情请查看官方博客:https://go.dev/blog/go1.18beta1
Neo:一个Go语言的Web开发框架
一门Web开发语言,如果提供一个开发效率高,且质量优异的框架最好不过,在12月13日,使用Go语言开发的一个开源框架亦正式发布,称之为Neo。
项目网址:https://ivpusic.github.io/neo/
API文档:https://godoc.org/github.com/ivpusic/neo
安装方式:
# framework
go get github.com/ivpusic/neo
# CLI tool
go get github.com/ivpusic/neo/cmd/neo
创建Neo应用的方法:
neo new myapp
cd myapp
package main
import (
"github.com/ivpusic/neo"
)
func main() {
app := neo.App()
app.Get("/", func(ctx *neo.Ctx) (int, error) {
return 200, ctx.Res.Text("I am Neo Programmer")
})
app.Start()
}
运行它:
neo run main.go
Neo框架使用的是MIT开源协议,GitHub地址为:
https://github.com/ivpusic/neo
具体使用是否方便强大,各位用过的同学可以分享心得给大家。
作者:场长
关于21CTO.com
21CTO.com是开发者的学习与服务平台。
我们为开发者提供高质量的资讯、学习以及工具等产品;
帮助企业快速对接开发者,包括人才招聘,数字化转型咨询,软件研发等服务。
网站地址:www.21cto.com
投稿邮箱:info@21cto.com
联系微信:13426109659
扫描二维码关注21CTO微信号